Systems and methods for generating tasks based on chat sessions between users of a collaboration environment

ABSTRACT

Systems and methods for generating tasks based on chat sessions between users of a collaboration environment are disclosed. Exemplary implementations may: obtain content information characterizing content of the chat sessions between the users of the collaboration environment; generate tasks for the users based on the content from the chat sessions, a first task being generated based on the first content information for the first chat session; and/or store information defining the tasks generated as part of the state information such that the first task is defined by a first task record.

FIELD OF THE DISCLOSURE

The present disclosure relates to systems and methods for generatingtasks based on chat sessions between users of a collaborationenvironment.

BACKGROUND

Generic work management platforms typically require users to manuallyinput to-do items and/or tasks. Without such manual input, computersgenerally cannot generate and manage tasks for users automatically. Thiscreates more work for users and reduces user efficiency. As such, usersand companies waste valuable resources and may be unlikely to use a workmanagement platform long term.

SUMMARY

One aspect of the present disclosure relates to a system configured forgenerating tasks based on chat sessions between users of a collaborationenvironment. The tasks may be determined dynamically for one or moreusers participating in a chat session through the graphical chatinterface and/or based on content from the chat session through thegraphical chat interface. The processor(s) may be configured to obtaincontent information characterizing content of the chat sessions betweenthe users of the collaboration environment. The chat sessions mayfacilitate synchronous communication between the users. In someimplementations, the chat sessions may be hosted within thecollaboration environment and/or may be external to the collaborationenvironment. The chat sessions may include a first chat session betweena first user and a second user. First content information characterizingcontent of the first chat session may be obtained. The processor(s) maybe configured to generate tasks for the users based on the content fromthe chat sessions. A first task may be generated based on the firstcontent information for the first chat session. The processor(s) may beconfigured to store information defining the tasks generated as part ofthe state information. As such, the first task may be defined by a firsttask record.

Another aspect of the present disclosure relates to a method forgenerating tasks based on chat sessions between users of a collaborationenvironment. The method may include obtaining content informationcharacterizing content of the chat sessions. The chat sessions mayfacilitate synchronous communication between the users of thecollaboration environment. The chat sessions may include a first chatsession between a first user and a second user. The first contentinformation characterizing content of the first chat session may beobtained. The method may include generating tasks for the users based onthe content from the chat sessions. A first task may be generated basedon the first content information for the first chat session. The methodmay include storing information defining the tasks generated as part ofthe state information. As such, the first task may be defined by a firsttask record.

Yet another aspect of the present disclosure relates to a non-transientcomputer-readable storage medium having instructions embodied thereon,the instructions being executable by one or more processors to perform amethod for generating tasks based on chat sessions between users of acollaboration environment. The method may include obtaining contentinformation characterizing content of the chat sessions between theusers of the collaboration environment. The chat sessions may facilitatesynchronous communication between the users and wherein the chatsessions include a first chat session between a first user and a seconduser. As such, the first content information characterizing content ofthe first chat session may be obtained. The method may includegenerating tasks for the users based on the content from the chatsessions. A first task may be generated based on the first contentinformation for the first chat session. The method may include storinginformation defining the tasks generated as part of the stateinformation such that the first task is defined by a first task record.

The presentation of the collaboration environment may be based onenvironment state information. The storage component may be configuredto effectuate storage of the environmental state information. Theenvironmental state information may define the state of thecollaboration environment. The state of the collaboration environmentmay comprise a user state, a project state, a task state, and/or orother states that make up the collaboration environment state. Theenvironmental state information may include one or more records. The oneor more records may include one or more user records, project records,task records, and/or other records. The user state may be defined by oneor more of the user records. The user records may define values of userparameters associated with users interacting with, viewing, and/or ableto interact with or view the collaboration environment. The projectstate may be defined by the project records. The project records maydefine values of project parameters for projects managed within thecollaboration environment. The task state may be defined by the taskrecord. The task record may define values of task parameters for taskscreated and/or assigned within the collaboration environment.

In some implementations, a system for generating tasks based on chatsessions between users of a collaboration environment may include one ormore of: one or more servers, one or more client computing platforms,and/or other components. The one or more servers may be configured tocommunicate with one or more client computing platforms according to aclient/server architecture and/or other architecture. The one or moreservers, chat servers, and/or client computing platforms may include oneor more physical processors configured to execute one or more computerprogram components. The computer program components may include one ormore of an environment state component, a chat application component, acollaboration environment component, a user chat component, a user taskcomponent, a trigger phrase component, and/or other components.

The environment state component may be configured to effectuatetransmission of the environment state information to client computingplatform(s), and/or vice versa. In some implementations, the environmentstate component may be configured to receive information over a networkfrom the client computing platforms(s). The environment state componentmay be configured to effectuate storage of the received information asenvironment state information to one or more of the user records, theproject records, the task records, and/or other records.

The collaboration environment component may be configured to effectuatepresentation of a collaboration environment. Presentation of thecollaboration environment may be based on environment state information.The environment state information may include user records, projectrecords, task records, and/or other records.

In some implementations, the user chat component may be configured toimplement an instance of a chat session to facilitate synchronouscommunication between the users within the collaboration environment.The user chat component may effectuate transmission and/or presentationof the textual communications that make up the chat session to theclient computing platforms for presentation through graphical chatinterfaces. In some implementations, the chat application component maybe configured to implement an instance of a chat session to facilitatesynchronous communication between the users within the collaborationenvironment. The chat application component may effectuate transmissionof the textual communications that make up the chat session to theclient computing platforms for presentation through graphical chatinterfaces. In some implementations, the chat session may be hosted bythe work management platform and/or a third-party application associatedwith the chat application component. The graphical chat interfaces maybe presented on the client computing platforms within and/or outside thecollaboration environment.

The user chat component may be configured to obtain content informationcharacterizing content of chat sessions between the users of thecollaboration environment. The user task component may be configured togenerate tasks for the users based on the content from the chatsessions. The user task component may be configured to store informationdefining the tasks generated as part of the state information.

These and other features, and characteristics of the present technology,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention. As usedin the specification and in the claims, the singular form of “a”, “an”,and “the” include plural referents unless the context clearly dictatesotherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system configured for generating tasks based onchat sessions between users of a collaboration environment, inaccordance with one or more implementations.

FIG. 2 illustrates an exemplary chat interface from which contentinformation is obtained and used as a basis for generating user tasks,in accordance with one or more implementations.

FIG. 3 illustrates a method for generating tasks based on chat sessionsbetween users of a collaboration environment, in accordance with one ormore implementations.

DETAILED DESCRIPTION

Generating tasks based on chat sessions between users of within acollaboration environment may enable generation of tasks based onsynchronous and/or semi-synchronous communications between multipleusers. The tasks may be determined dynamically for one or more usersparticipating in a chat session through the graphical chat interfaceand/or based on content from the chat session through the graphical chatinterface. Tasks may be automatically generated for the sender of acommunication, one or more recipients of the communication, and/or otherusers based on the content of the one or more chat sessions. Tasks maybe generated in real-time, near-real time, at the end of a given chatsession, and/or at any other time during the given chat session.

The presentation of the collaboration environment may be based onenvironment state information. The environment state information mayinclude user records 128, project records 130, task records 132, and/orother records. The environment state information may be continuouslygenerated and/or updated based on the state of the collaborationenvironment representing the users' interactions with the collaborationenvironment. The state of the collaboration environment may include auser state, a project state, a task state, and/or other states. The userstate may be defined by user records 128. User records 128 may definevalues of user parameters associated with users interacting with and/orviewing the collaboration environment. The project state may be definedby project records 130. Project records 130 may define values of projectparameters for projects managed within the collaboration environment.The task state may be defined by task records 132. Task records 132 maydefine values of task parameters for tasks created and/or assignedwithin the collaboration environment.

The user parameters associated with the users interacting with and/orviewing the collaboration environment may include parameters describingthe users, their actions within the collaboration environment, theirsettings, and/or other user information; and/or metadata associated withthe users, their actions within the environment, their settings, and/orother user information. Individual ones of the users may be associatedwith individual ones of the user records. A user record may definevalues of the user parameters associated with a given user interactingwith and/or viewing the collaboration environment.

The user parameters may, by way of non-limiting example, include one ormore of: a user name, a user role, a user department, descriptive usercontent, a to-email, a from-email, a photo, an organization, aworkspace, one or more projects (which may include project parametersdefined by one or more project records); one or more tasks (which mayinclude one or more task parameters defined by one or more taskrecords), one or more user comments, one or more teams the user belongsto, one or more of the user display settings (e.g., colors, size,project order, task order, etc.), one or more authorized applications,one or more presence/interaction parameters (e.g., indicating presenceand/or interaction level at an environment level, project level, taskall, application level, etc.), one or more notification settings, one ormore progress parameters, status information for one or more tasks theuser is associated with, one or more statistics related to a given user(e.g., how many tasks the user has completed, how quickly the usercompleted the tasks, the efficiency of the user, bandwidth of the user,activity level of the user, etc.), application access information (e.g.,username/password for one or more third-party applications), one or morefavorites and/or priorities, other user parameters for the given user,and/or other user parameters, project parameters, and/or task parametersfor one or more projects and/or tasks the given user is associated with.

The project parameters for projects managed within the collaborationenvironment may include parameters describing one or more projectsmanaged within the collaboration environment and/or via thecollaboration work management platform, and/or the metadata associatedwith the one or more projects. Individual ones of the projects may beassociated with individual ones of the project records. A project recordmay define values of the project parameters associated with a givenproject managed within the collaboration environment and/or via thecollaboration work management platform. A given project may have one ormore owners and/or one or more team members working on the givenproject. The given project may include one or more tasks assigned to oneor more users under the given project heading.

The project parameters may, by way of non-limiting example, include oneor more of: one or more tasks within individual ones of the projects(which may include task parameters defined by one or more task records),one or more user comment parameters (e.g., a creator, a recipient, oneor more followers, one or more other interested parties, content, one ormore times, upvotes, other hard-coded responses, etc.), a project name,a project description, one or more project dates (e.g., a start date, adue date, a completion date, and/or other project dates), one or moreproject members (e.g., an owner, one or more other project members,member access information, and/or other project members and/or memberinformation), a status and/or progress (e.g., an update, a hardcodedstatus update, a measured status, quantity of tasks remaining in a givenproject, completed tasks in a given project, and/or other statusparameter), one or more attachments, notification settings, privacy, anassociated URL, one or more interaction parameters (e.g., sources of theinteractions, context of the interactions, content of the interactions,time for the interactions, and/or other interaction parameters),updates, ordering of tasks within the given project, state of aworkspace for a given task within the given project, other projectparameters for the given project, and/or other project parameters, userparameters, and/or task parameters for one or more users and/or tasksthe given project is associated with.

The task parameters for tasks within the collaboration environment mayinclude parameters describing one or more tasks created and/or assignedwithin the collaboration environment and/or via the collaboration workmanagement platform, and/or the metadata associated with the one or moretasks. Individual ones of the tasks may be associated with individualones of the tasks records. A task record may define values of the taskparameters associated with a given task created and/or assigned withinthe collaboration environment and or via the collaboration workmanagement platform. The tasks make include one or more to-do items,action items, objectives, and/or other tasks one or more users shouldand/or plan on accomplishing. Tasks may be created by a given user forthe given user and/or created by the given user and assigned to one ormore other users.

The task parameters may, by way of non-limiting example, include one ormore of: a task name, a task a description, a task status (e.g.,complete, incomplete, and/or another status), an assignee, one or morefollowers, one or more team members, one or more task dates (e.g., astart date, a completion date, a due date, and/or other dates), one ormore user comment parameters (e.g., a creator, a recipient, one or morefollowers, one or more other interested parties, content, one or moretimes, upvotes, other hard-coded responses, etc.), task upvotes, otherhard-coded task responses, one or more tags, one or more custom fields(e.g., priority, cost, stages, and/or other custom fields), one or moredependencies (e.g., tasks dependent on, dependent tasks. Users assignedto dependent tasks, notification settings for dependent tasks, and/orother dependencies), a task URL, one or more subtasks and/or subtaskparameters (e.g., name, description, hardcoded status, assignees, duedate, state date, comments, upvotes, tags, and/or other subtaskparameters), one or more attachments, one or more interaction parameters(e.g., sources of the interactions, context of the interactions, contentof the interactions, time for the interactions, and/or other interactionparameters), state of a workspace for a given task (e.g., applicationstate parameters, application status, application interactions, userinformation, and/or other parameters related to the state of theworkspace for a given task), other task parameters for the given task,and/or other task parameters, user parameters, and/or project parametersfor one or more users and/or project(s) the given task is associatedwith.

It is noted that any metadata and/or values of parameters related to anyusers, projects, and/or tasks may be considered values of userparameters, project parameters, and/or task parameters. The terms “userparameters”, “project parameters”, and/or “task parameters” may be usedinterchangeably herein.

As is illustrated in FIG. 1, system 100 may include one or more of: oneor more servers 102, one or more chat server(s) 140, one or more clientcomputing platforms 124, external resources 122, and/or othercomponents. Users may interact with system 100 via one or more clientcomputing platforms 124. The one or more servers 102 and/or chatserver(s) 140 may be configured to communicate with one or more clientcomputing platforms 124 according to a client/server architecture and/orother communication schemes. The one or more client computing platforms124 may include one or more of a cellular telephone, a smartphone, adigital camera, a laptop, a tablet computer, a desktop computer, atelevision set-top box, smart TV, a gaming console, and/or other clientcomputing platforms.

The one or more servers 102, chat server(s) 140, and/or client computingplatform(s) 124 may include one or more physical processors 104,physical processors(s) 144, and/or physical processors 105 (alsoreferred to herein as “one or more processors” and/or “processor(s)”),non-transitory electronic storage 126, and/or other components.Non-transitory electronic storage 126 may include one or more records.The one or more records may store the environment state information thatdefines the state of the collaboration environment. The state of thecollaboration environment may include a user state, a project state, atask state, and/or other states. The records may include user records128, project records 130, task records 132, and/or other records. Theone or more physical processors 104 may be configured to access one ormore of user records 128, project records 130, task records 132, and/orother records to effectuate transmission of the environment stateinformation over network 132 to client computing platform(s) 124. Clientcomputing platform(s) 124 may use the environment state information toeffectuate presentation of the collaboration environment via clientcomputing platform(s) 124. The one or more physical processors 104,physical processor(s) 144, and/or physical processors 105 may beconfigured to execute machine-readable instructions 106,machine-readable instructions 146, and/or machine-readable instructions107. The machine-readable instructions 106, machine-readableinstructions 146, and/or machine-readable instructions 107 may includeone or more computer program components. The computer program componentsmay include one or more of an environment state component 108, a chatapplication component 148, a collaboration environment component 110, auser chat component 112, a user task component 114, a trigger phrasecomponent 116, and/or other components.

In some implementations, server(s) 102 and/or chat server(s) 140 may beconfigured to provide remote hosting of the features and/or functions ofmachine-readable instructions 106 and/or machine-readable instructions107 to one or more client computing platform(s) 124 that may be remotelylocated from server(s) 102 and/or chat server(s) 140. In someimplementations, one or more features and/or functions of server(s) 102and/or chat server(s) 140 may be attributed as local features and/orfunctions of one or more client computing platform(s) 124. For example,individual ones of the client computing platform(s) 124 may include oneor more additional machine-readable instructions 107 comprising the sameor similar components as machine-readable instructions 106 of server(s)102 and/or machine-readable instructions 146 of chat server(s) 140. Theclient computing platform(s) 124 may be configured to locally executethe one or more components that may be the same or similar to themachine-readable instructions 106. One or more features and/or functionsof machine-readable instructions 106 of server(s) 102 may be provided,at least in part, as an application program that may be executed at agiven client computing platform 124. One or more features and/orfunctions of machine-readable instructions 107 may be provided, at leastin part, at a server(s) 102.

The electronic storage 126, electronic storage 142, and/or electronicstorage 120 may include electronic storage media that electronicallystores information. The electronic storage media of electronic storage126, electronic storage 142, and/or electronic storage 120 may includeone or both of system storage that is provided integrally (i.e.,substantially non-removable) with one or more servers 102 and/orremovable storage that is removably connected to one or more servers102. The connection may be facilitated by, for example, a port (e.g., aUSB port, a firewire port, etc.) or a drive (e.g., a disk drive, etc.).

The electronic storage 126, electronic storage 142, and/or electronicstorage 120 may include one or more of optically readable storage media(e.g., optical disks, etc.), magnetically readable storage media (e.g.,magnetic tape, magnetic hard drive, floppy drive, etc.), electricalcharge-based storage media (e.g., EEPROM, RAM, etc.), solid-statestorage media (e.g., flash drive, etc.), and/or other electronicallyreadable storage media. The electronic storage 126, electronic storage142, and/or electronic storage 120 may include one or more virtualstorage resources (e.g., cloud storage, a virtual private network,and/or other virtual storage resources). The electronic storage 126,electronic storage 142, and/or electronic storage 120 may store softwarealgorithms, information determined by processor(s) 104, informationreceived by one or more servers 102, information received by clientcomputing platforms 124, and/or other information that enables one ormore servers 102 to function as described herein.

The electronic storage 126 may be configured to store one or morerecords and/or information. The one or more records may include one ormore of user records 128, project records 130, task records 132, and/orother records. The one or more records (e.g., user records 128, projectrecords 130, task records 132, and/or other records) may specify and ordefine values for one or more user parameters, project parameters,and/or other parameters for the collaboration environment. The one ormore records may specify correspondences between one or more of the userrecords 128, project records 130, task records 132, and/or otherrecords. The correspondences may be used to determine which userparameters and/or values, project parameters and/or values, and/or taskparameters and/or values are associated with a given user, project,and/or task within the collaboration environment.

The client computing platform(s) 124 may monitor, and/or collectinformation for transmission to the one or more server(s) 102 to bestored as environment state information. The client computingplatform(s) 124 may obtain and/or collect environment state informationfrom the one or more server(s) 102.

The environment state component 108 of machine-readable instructions 106may be configured to effectuate transmission of the environment stateinformation to client computing platform(s) 124, and/or vice versa. Insome implementations, environment state component 108 may be configuredto receive information over network 132 from client computingplatforms(s) 124. Environment state component 108 may be configured toeffectuate storage of the received information as environment stateinformation to one or more user records 128, project records 130, taskrecords 132, and/or other records. Environment state component 108 maybe configured to obtain one or more user records 128, project records130, task records 132, and/or other records in response to and/or basedon one or more requests from client computing platform(s) 124.Environment state component 108 may be configured to effectuatetransmission of values for user parameters, values for projectparameters, values for task parameters, and/or other state informationto client computing platform(s) 124. The values for user parameters,values for project parameters, values for task parameters, and/or otherstate information may be used to effectuate presentation of the relevanttasks and/or projects for a given user of the collaboration environmentassociated with the given client computing platform 124 to which thevalues and/or other state information is transmitted.

Collaboration environment component 110 of machine-readable instructions107 may be configured to effectuate presentation of a collaborationenvironment. Presentation of the collaboration environment may be basedon environment state information. The environment state information mayinclude user records, project records, task records, and/or otherrecords. The environment state information may define a state of thecollaboration environment. The state of the collaboration environmentmay include a user state, a project state, a task state, and/or otherstates. The user state may be defined by the user records. The userrecords may define values of user parameters associated with usersinteracting with and/or viewing the collaboration environment. Theproject state may be defined by the project records. The project recordsmay define values of project parameters for projects managed within thecollaboration environment. The task state may be defined by the taskrecords. The task records may define values of task parameters for taskscreated and/or assigned within the collaboration environment.

The client computing platform(s) 124 may effectuate presentation of thecollaboration environment. The collaboration environment may include theenvironment in which users interact with and/or view the one or moretasks and/or projects managed via the collaboration work managementplatform. The collaboration environment may exist whether or not a givenuser is viewing and/or interacting with the collaboration environment.In some implementations, projects managed vie the collaborationenvironment may include one or more tasks. By way of non-limitingexample, the one or more tasks may include action items, to-do items,and/or objectives within a given project. The one or more tasks may beassigned to one or more users such that the one or more tasks assignedto a given user may appear on a given user's task list within thecollaboration environment.

User chat component 112 may be configured to obtain content informationcharacterizing content of the chat sessions between the users of thecollaboration environment. Content information for the chat sessions maybe obtained at the conclusion of a chat session, and/or in real-timeand/or near real-time during the chat session. Chat sessions may includea series of communications between two or more users of thecollaboration environment. The chat sessions may include one or more ofa messenger chat session, a video chat session, a phone chat session,and/or other chat sessions. The chat sessions may include a first chatsession between a first user and a second user, such that first contentinformation characterizing content of the first chat session isobtained. In some implementations, the chat sessions may be related toand/or specific to a given project and/or task within the collaborationenvironment. As such, the users participating in the given chat sessionmay be working on and/or discussing the related and/or specific projectand/or task. The first chat session may be a task-specific chat session.For example, the first chat session may relate to Task A. In someimplementations, the chat sessions may be between two users and/or morethan two users. User chat component 112 may be configured to transcribeone or more spoken communications. In some implementations, user chatcomponent 112 may be configured to determine a source and/or intendedrecipient of individual chat items within the chat session.

The content information obtained by user chat component 112 may describethe content included in a given chat session. By way of non-limitingexample, that content information may include one or more communicationinputs by the users within the chat sessions, one or more spoken and/ortranscribed communications spoken by the users within the chat sessions,one or more words and/or phrases included in the chat sessions, a sourceof the spoken and/or textual communications, an intended recipient ofthe spoken and/or textual communications, and/or other contentinformation. The communication inputs in the chat session may bepresented through a graphical chat interface on the client computingplatform(s) 124. The user may select a full and/or partial view of thegraphical chat interface within the graphical user interfaces associatedwith the collaboration environment presented on the client computingplatforms 124.

In some implementations, the content information may include contextinformation. Context information may include setting information,content information for communications immediately preceding and/orfollowing a trigger word and/or phrase, information describing the oneor more tasks and/or projects the chat session relates to, userinformation for one or more of the users participating in the chatsession (e.g., one or more projects and/or tasks associated with theuser, the user's role/department/qualifications, historical userinformation, and/or other user information), and/or other contextinformation. The first content information may include first contextinformation and wherein the first task is generated based on the firstcontext information for the first chat session.

In some implementations, the chat sessions may facilitate synchronousand/or semi-synchronous communication between the users of thecollaboration environment. By way of non-limiting example, thesynchronous and/or semi-synchronous communication may include phonecommunications, video communications, messenger communications, and/orother communication. In some implementations, the chat sessions may betext chat sessions. In some implementations, the chat sessions may bevoice and/or video chat sessions.

The content from the chat sessions that may trigger generation of thetasks for the users may include one or more trigger phrases and/orwords. The trigger phrases and/or words may include one or more phrasesor words that trigger generation of a user task. In someimplementations, user chat component 112 may be configured to determineand/or identify one or more trigger phrases and/or words.

In some implementations, user chat component 112 may be configured toimplement an instance of a chat session to facilitate synchronouscommunication between the users within the collaboration environment.User chat component 112 may receive an/or transmit the communications(e.g., textual communications, voice communications, videocommunications, etc.) that make up the chat session to the client maycomputing platforms for presentation through graphical chat interfaces.The graphical chat interface may be part of and/or external to thecollaboration environment. The chat sessions may be hosted by thecollaboration platform and/or one or more third party chat applications(e.g., Slack, Skype, Outlook Messenger, etc.) integrated with thecollaboration platform via an application program interface (API). Thechat-sessions may be provided by one or more third-party chatapplications via one or more APIs. In some implementations thecollaboration platform may host and/or provide one or more of the chatsessions.

The chat interface may include its own interface and/or a portion of oneor more collaboration environment interfaces for displaying one or moretasks and/or projects for a given user. User chat component 112 may beconfigured to effectuate presentation of the graphical chat interfacesvia the client computing platforms within and/or outside thecollaboration environment. The first chat session may be presented tothe first user via a first chat interface presented on a first clientcomputing platform associated with the first user, and/or to the seconduser via a second chat interface presented on a second client computingplatform associated with the second user.

User task component 114 may be configured to generate tasks for theusers based on the content from the chat sessions. In someimplementations, the tasks may be generated in real-time and/or nearreal-time during the chat session. By way of non-limiting example, asthe user starts typing within the chat interface, user task component114 may identify one or more tasks that should be generated. The tasks,in some implementations, may be generated at or near the conclusion ofthe chat sessions. In some implementations, one or more tasks generatedbased on the content from the chat sessions may be presented to one ormore of the users as one or more potential tasks. The potential tasksmay be presented to the one or more users for confirmation and/oracceptance. One or more of the users may accept and/or confirm one ormore of the potential tasks at the conclusion of the given chat sessionto generate the tasks. A chat session may conclude when: a thresholdamount of time passes without any communication from one or more users,a user exits or closes the chat interface, the user minimizes the chatinterface, the user responds to a request with acceptance language(e.g., “sure”, “okay”, “will do”, “I'll take care of it.”, etc.) and/orthe user otherwise concludes the chat session.

In some implementations, the one or more tasks may be generated based oninformation from multiple users within a chat session being piecedtogether to make generate the one or more tasks. Generating the one ormore tasks may include determining and/or recommending which user(s)should be assigned the tasks, whether the task should be dependent onone or more other tasks, and/or other characteristics of the tasks basedon the content from the chat session.

In some implementations, the tasks may be automatically generated and/oraccepted by the users based on the content information. By way ofnon-limiting example, the user task component 114 may be configured toidentify acceptance language based on the content information for thechat sessions. Responsive to the user task component 114 identifyingacceptance language in response to communications triggering generationof a task, user task component 114 may automatically accept thegenerated task on behalf of the user.

In some implementations, user task component 114 may identify one ormore task should and/or could be generate and/or provide the user withone or more prompting questions for generating the one or more tasks. Byway of non-limiting example, if user A starts typing to users B, C, andD “We need to follow-up with X supplier . . . ”, user task component 114may prompt user A with one or more questions for generating the task(e.g., “Who should follow up with X supplier?”, “When do you want thisuser to follow up with X supplier by?”, etc.). User task component 114may generate the task for following-up with X supplier based on theresponses to these questions.

A first task may be generated based on the first content information forthe first chat session. In some implementations, the first task may begenerated responsive to identifying a first trigger phrase and/or wordin the first chat session based on the first content information.Generating the tasks for the users based on the content from the chatsessions may include automatically generating one or more fieldsdescribing the tasks based on the content information. Generating thetasks based on the content information may include automaticallyinitiating the one or more tasks, and/or automatically generating one ormore fields describing the tasks. As such, by way of non-limitingexample, generating a first task may include initiating the first taskand/or generating one or more first fields describing the first taskbased on the first content information. In some implementations, by wayof non-limiting example, the one or more fields may include one or moreof a task title, a task description, a task due-date, a task assignee, atask start date, a project and/or task associated with the generatedtask, a task dependency, and/or other fields associated with the task.

The tasks may be further generated based on context of the chatsessions. As such, the first task may be generated based on firstcontext information related to the first chat session, the first userand/or the second user, a first project and/or task, and/or othercontext information. The tasks may include a task (e.g., to-do items,action items, objectives, and/or other tasks one or more users shouldand/or plan on accomplishing) within an overarching project, a subtask(e.g., to-do items, action items, objectives, and/or other tasks one ormore users should and/or plan on accomplishing) under an overarchingtask, and/or other tasks.

User task component 114 may be configured to store information definingthe tasks generated as part of the state information. As such, the firsttask may be defined by a first task record. User task component 114 maybe configured to communicate with collaboration environment component110 and/or environment state component 108 to effectuate storage of theinformation defining the tasks generated as part of the stateinformation.

In some implementations, user task component 114 may be configured tomodify one or more tasks based on the content from the chat sessions.Modifying one or more tasks may include modifying, changing, adjusting,adding, and/or removing one or more characteristics associated withindividual ones of the tasks. By way of non-limiting example, the one ormore characteristics of individual ones of the tasks may include one ormore of a task description, a user assigned to a task, a due date, astart date, and/or other characteristics of the individual ones of thetasks. A second task may be modified based on the first contentinformation for the first chat session. User task component 114 may beconfigured to store information defining modifications of the tasks aspart of the state information. As such, a first task modification forthe second task may defined by a second task record.

FIG. 2 illustrates an exemplary chat interface from which contentinformation is obtained and used as a basis for generating user tasks,in accordance with one or more implementations. In some implementations,chat interface 202 may be presented within a view of collaborationenvironment 200. Textual communications 208 may be exchanged betweenUser 1 and User 2 via chat interface 202. Content information describingand/or including one or more textual communications 208 may be used togenerate task 204. One or more fields 210 may be automatically generatedfor task 205 based on the content information characterizing the contentof the chat session (e.g., textual communications 208). Task interface206 may be presented as part of collaboration environment 200. Taskinterface 206 may list one or more tasks assigned to user 2. Task 204and/or information from one or more of fields 210 may be automaticallyadded to and/or displayed via task interface 206.

Returning to FIG. 1, trigger phrase component 116 may be configured toidentify potential content in the content of the chat sessions thatleads to initiation of one or more of the tasks by the users based onthe environment state information. The potential content may includecontent that is likely to trigger generation of a user task by a user.The content from the chat sessions that may trigger generation of thetasks for the users may include one or more trigger phrases and/orwords. The trigger phrases and/or words may include one or more phrasesor words that trigger generation of a user task. In someimplementations, trigger phrase component 116 may be configured toidentify potential trigger phrases and/or words based on the potentialcontent identified. In some implementations, user chat component 112 maybe configured to determine and/or identify one or more trigger phrasesand/or words. Trigger phrase component 116 may be configured to identifypotential content in the content of the chat sessions that leads toinitiation of one or more of the tasks by the users. The potentialcontent that leads to initiation of one or more of the tasks in thecollaboration environment by the users may be identified based on theenvironment state information.

User chat component 112 may be configured to identify potential triggerphrases and/or words based on the potential content identified. Thetrigger phrases and/or words may indicate an assignment and/or oneuser's request, desire, inquiry, and/or need to another user. By way ofnon-limiting example, user chat component 112 may monitor chat sessionsbetween users in the collaboration environment and/or identify thatwhenever a user states “Will you complete X . . . ” they typicallygenerate a task for X shortly thereafter. As such, user chat componentmay identify “will you” as a trigger phrase. By way of non-limitingexample, the trigger phrases and/or words may include one or more ofwill you, can you, could you, please, by a given date, before the givendate, we need, I need, I want, would be grateful if, and/or you could.

In some implementations, server(s) 102, client computing platform(s)104, and/or external resources 124 may be operatively linked via one ormore electronic communication links. For example, such electroniccommunication links may be established, at least in part, via a networksuch as the Internet and/or other networks. It will be appreciated thatthis is not intended to be limiting, and that the scope of thisdisclosure includes implementations in which server(s) 102, clientcomputing platform(s) 104, and/or external resources 124 may beoperatively linked via some other communication media.

A given client computing platform 104 may include one or more processorsconfigured to execute computer program components. The computer programcomponents may be configured to enable an expert or user associated withthe given client computing platform 104 to interface with system 100and/or external resources 124, and/or provide other functionalityattributed herein to client computing platform(s) 104. By way ofnon-limiting example, the given client computing platform 104 mayinclude one or more of a desktop computer, a laptop computer, a handheldcomputer, a tablet computing platform, a NetBook, a Smartphone, a gamingconsole, and/or other computing platforms.

External resources 124 may include sources of information outside ofsystem 100, external entities participating with system 100, and/orother resources. In some implementations, some or all of thefunctionality attributed herein to external resources 124 may beprovided by resources included in system 100.

Server(s) 102 may include electronic storage 126, one or more processors128, and/or other components. Server(s) 102 may include communicationlines, or ports to enable the exchange of information with a networkand/or other computing platforms. Illustration of server(s) 102 in FIG.1 is not intended to be limiting. Server(s) 102 may include a pluralityof hardware, software, and/or firmware components operating together toprovide the functionality attributed herein to server(s) 102. Forexample, server(s) 102 may be implemented by a cloud of computingplatforms operating together as server(s) 102.

Processor(s) 128 may be configured to provide information processingcapabilities in server(s) 102. As such, processor(s) 128 may include oneor more of a digital processor, an analog processor, a digital circuitdesigned to process information, an analog circuit designed to processinformation, a state machine, and/or other mechanisms for electronicallyprocessing information. Although processor(s) 128 is shown in FIG. 1 asa single entity, this is for illustrative purposes only. In someimplementations, processor(s) 128 may include a plurality of processingunits. These processing units may be physically located within the samedevice, or processor(s) 128 may represent processing functionality of aplurality of devices operating in coordination. Processor(s) 128 may beconfigured to execute components 108, 110, 112, 114, 116, 118, 120, 122,and/or other components. Processor(s) 128 may be configured to executecomponents 108, 110, 112, 114, 116, 118, 120, 122, and/or othercomponents by software; hardware; firmware; some combination ofsoftware, hardware, and/or firmware; and/or other mechanisms forconfiguring processing capabilities on processor(s) 128. As used herein,the term “component” may refer to any component or set of componentsthat perform the functionality attributed to the component. This mayinclude one or more physical processors during execution of processorreadable instructions, the processor readable instructions, circuitry,hardware, storage media, or any other components.

It should be appreciated that although components 108, 110, 112, 114,116, 118, 120, and 122 are illustrated in FIG. 1 as being implementedwithin a single processing unit, in implementations in whichprocessor(s) 128 includes multiple processing units, one or more ofcomponents 108, 110, 112, 114, 116, and/or 148 may be implementedremotely from the other components. The description of the functionalityprovided by the different components 108, 110, 112, 114, 116, and/or 148described below is for illustrative purposes, and is not intended to belimiting, as any of components 108, 110, 112, 114, 116, and/or 148 mayprovide more or less functionality than is described. For example, oneor more of components 108, 110, 112, 114, 116, and/or 148 may beeliminated, and some or all of its functionality may be provided byother ones of components 108, 110, 112, 114, 116, and/or 148. As anotherexample, processor(s) 128 may be configured to execute one or moreadditional components that may perform some or all of the functionalityattributed below to one of components 108, 110, 112, 114, 116, and/or148.

FIG. 2 illustrates a method 200 for generating tasks based on chatsessions between users of a collaboration environment, in accordancewith one or more implementations. The operations of method 200 presentedbelow are intended to be illustrative. In some implementations, method200 may be accomplished with one or more additional operations notdescribed, and/or without one or more of the operations discussed.Additionally, the order in which the operations of method 200 areillustrated in FIG. 2 and described below is not intended to belimiting.

In some implementations, method 200 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operations of method 200 in response to instructions storedelectronically on an electronic storage medium. The one or moreprocessing devices may include one or more devices configured throughhardware, firmware, and/or software to be specifically designed forexecution of one or more of the operations of method 200.

An operation 202 may include obtaining content informationcharacterizing content of the chat sessions between the users of thecollaboration environment. The chat sessions may facilitate synchronouscommunication between the users and wherein the chat sessions include afirst chat session between a first user and a second user, such thatfirst content information characterizing content of the first chatsession is obtained. Operation 202 may be performed by one or morehardware processors configured by machine-readable instructionsincluding a component that is the same as or similar to user chatcomponent 112, in accordance with one or more implementations.

An operation 204 may include generating tasks for the users based on thecontent from the chat sessions, a first task being generated based onthe first content information for the first chat session. Operation 204may be performed by one or more hardware processors configured bymachine-readable instructions including a component that is the same asor similar to user task component 114, in accordance with one or moreimplementations.

An operation 206 may include storing information defining the tasksgenerated as part of the state information such that the first task isdefined by a first task record. Operation 206 may be performed by one ormore hardware processors configured by machine-readable instructionsincluding a component that is the same as or similar to informationstoring component 112, in accordance with one or more implementations.

Although the present technology has been described in detail for thepurpose of illustration based on what is currently considered to be themost practical and preferred implementations, it is to be understoodthat such detail is solely for that purpose and that the technology isnot limited to the disclosed implementations, but, on the contrary, isintended to cover modifications and equivalent arrangements that arewithin the spirit and scope of the appended claims. For example, it isto be understood that the present technology contemplates that, to theextent possible, one or more features of any implementation can becombined with one or more features of any other implementation.

What is claimed is:
 1. A system configured to modify projects, thesystem comprising: non-transitory electronic storage; and one or morehardware processors configured by machine-readable instructions to:modify one or more projects based on content of communications betweenusers of a collaboration environment, wherein information definingmodifications of individual projects is stored as part of individualproject records of the individual projects, wherein a project ismodified by a project modification based on the content of acommunication between a first user and a second user of thecollaboration environment, and wherein first information defining theproject modification for the project is stored within a project recordof the project.
 2. The system of claim 1, wherein the one or morehardware processors are further configured by the machine-readableinstructions to: implement an instance of a communication session tofacilitate the communications between the users; and transmit thecommunications that make up the communication session to clientcomputing platforms for presentation through graphical interfaces, thegraphical interfaces being presented on the client computing platformswithin and/or outside the collaboration environment.
 3. The system ofclaim 1, wherein the one or more hardware processors are furtherconfigured by the machine-readable instructions to: obtain contentinformation characterizing the content of the communications between theusers of the collaboration environment.
 4. The system of claim 1,wherein the one or more hardware processors are further configured bythe machine-readable instructions to: store the information defining themodifications of the individual projects in the individual projectrecords.
 5. The system of claim 1, wherein the communications aresynchronous chat communications.
 6. The system of claim 1, wherein theone or more projects are modified based on context of thecommunications, wherein the first project is modified based on thecontext of the communication.
 7. The system of claim 1, wherein thecommunications are textual communications.
 8. The system of claim 1,wherein the communications are voice and/or video communications.
 9. Thesystem of claim 1, wherein modifying the one or more projects includesautomatically modifying one or more fields describing the individualprojects.
 10. The system of claim 1, wherein the communication is aproject-specific communication.
 11. A computer-implemented method tomodify projects, the method comprising: modifying one or more projectsbased on content of communications between users of a collaborationenvironment, wherein information defining modifications of individualprojects is stored as part of individual project records of theindividual projects, wherein a project is modified by a projectmodification based on the content of a communication between a firstuser and a second user of the collaboration environment, and whereinfirst information defining the project modification for the project isstored within a project record of the project.
 12. The method of claim11, further comprising: implementing an instance of a communicationsession to facilitate the communications between the users; andtransmitting the communications that make up the communication sessionto client computing platforms for presentation through graphicalinterfaces, the graphical interfaces being presented on the clientcomputing platforms within and/or outside the collaboration environment.13. The method of claim 11, further comprising: obtaining contentinformation characterizing the content of the communications between theusers of the collaboration environment.
 14. The method of claim 11,further comprising: storing the information defining the modificationsof the individual projects in the individual project records.
 15. Themethod of claim 11, wherein the communications are synchronous chatcommunications.
 16. The method of claim 11, wherein the one or moreprojects are modified based on context of the communications, whereinthe first project is modified based on the context of the communication.17. The method of claim 11, wherein the communications are textualcommunications.
 18. The method of claim 11, wherein the communicationsare voice and/or video communications.
 19. The method of claim 11,wherein the modifying the one or more projects includes automaticallymodifying one or more fields describing the individual projects.
 20. Themethod of claim 11, wherein the communication is a project-specificcommunication.